#!/bin/sh
#
# /etc/rc.d/rc.lizardfs-cgiserv
#
# Init file for the LizardFS web console service
# Adapted for Slackware Linux by Marcin Szychowski <szycha@gmail.com>
#
# See mfscgiserv(8) for more information.
# For general information on LizardFS, see mfs(7) or visit
# http://lizardfs.org/

# Source function library.
. /etc/init.d/functions

MFSCGISERV_USER=nobody

RETVAL=0
prog="lizardfs-cgiserver"

start () {
  echo -n $"Starting $prog: "
  /bin/su -s /bin/bash -c "/usr/sbin/$prog > /dev/null 2>&1 &" $MFSCGISERV_USER
  RETVAL=$?
  if [ $RETVAL -eq 0 ]; then
    touch /var/lock/subsys/$prog
    echo '...done'
  else
    echo '...failed!'
  fi
  return $RETVAL
}

stop () {
  echo -n $"Stopping $prog: "
  fuser -kn tcp 9425 >/dev/null 2>&1
  RETVAL=$?
  if [ $RETVAL -eq 0 ]; then
    rm -f /var/lock/subsys/$prog
  fi
  echo '...done'
  return $RETVAL
}

restart () {
  stop
  start
}

case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart|reload)
    restart
    ;;
  condrestart)
    [ -e /var/lock/subsys/$prog ] && restart
    RETVAL=$?
    ;;
  status)
    status $prog
    RETVAL=$?
    ;;
  *)
    echo $"Usage: $0 {start|stop|restart|condrestart|status}"
    RETVAL=1
esac

exit $RETVAL
